/*
 * @Description: 用户登录状态模块
  // state 提供唯一的公共数据源、 所有共享数据统一放到 Store 的 state 中进行存储 
  // $store.state.count  调用 或者 this.$store.state.count
  //   computed: {
  // ...mapGetters(["getUser", "getNum"]),
  // ...mapState(['user'])
  // },       
  // import { mapState } from "vuex";
 */
export default {

  state: {
    user: "", // 登录的用户
    showLogin: false // 用于控制是否显示登录组件
  },
  getters: {
    getUser(state) {
      return state.user
    },
    getUserName(state) {
      return state.user.userName
    },
    getShowLogin(state) {
      return state.showLogin
    }
  },
  mutations: {
    // 不要在mutations中写异步操作
    setUser(state, data) {
      state.user = data;
    },
    setShowLogin(state, data) {
      state.showLogin = data;
    }
  },
  actions: {
    // 执行异步操作 actions 执行
    setUser({ commit }, data) {
      commit('setUser', data);
    },
    setShowLogin({ commit }, data) {
      commit('setShowLogin', data);
    }
  }
}